package org.example;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.text.SimpleDateFormat;
import java.util.Date;

public class Demo_insert{
    public static  void main(String[] args) throws Exception{
        /**
         * jdbc--java database connection
         * 1.注册驱动（告诉java我要链接数据库）全类名（包名.类名）
         * <version>5.1.32<ersion> 版本低于8.0 不写成com.mysql.cj.jdbc.Driver
         */
        Class.forName("com.mysql.jdbc.Driver");
        /**
         * 2.建立连接,并返回连接对象(告诉java连接哪个数据库) 类名.方法
         * url:连接哪个电脑的数据库
         *      java：mysql://ip地址:3306/数据库名称？serverTimezone=GMT%2B8
         *      serverTimezone指的是时区，高于8.0版本要写时区（北京、上海、东京、纽约）
         * user:账户root password:密码root
         */
        Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306ixun","root","root");
        /**
         * 3.传数据
         *String birthday = "2004 07 04";
         *SimpleDateFormat simpledateformat = new SimpleDateFormat("yyyy-MM-dd");
         *Date erzi = simpledateformat.parse(birthday);
         *long time = erzi.getTime();
         *SimpleDateFormat()方法 可以把字符串转成日期，日期转成字符串
         *getTime获取当前时间的毫秒值 从1970年1月1日
         * ?代表等待页面传递过来的值
         */

        String name = "Arzi";
        double score = 99.99;
        String nationality = "中国";
        boolean gender = true;
        String admission_time = "2022-10-10";
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
        Date date = format.parse(admission_time);
        int status = 1;

        String sql = "INSERT INTO student(name,score,nationality,gender,admission_time,status) VALUE(?,?,?,?,?,?)";
        PreparedStatement pst = conn.prepareStatement(sql);

        pst.setString(1,name);
        pst.setDouble(2,score);
        pst.setString(3,nationality);
        pst.setBoolean(4,gender);
        pst.setDate(5,new java.sql.Date(date.getTime()));
        pst.setInt(6,1);

        //查看是否成功
        //executeUpdate执行添加、删除、修改语句
        int i = pst.executeUpdate();
        System.out.println(i);
        if(i == 1) System.out.println("插入成功");
        else System.out.println("插入失败");

        //关闭资源
        pst.close();
        conn.close();

    }
}

